//////////////////////////////////////////////////////////////////////////

#ifndef _CLIENTINPUTPACKETONSERVER_H_
#define _CLIENTINPUTPACKETONSERVER_H_

//////////////////////////////////////////////////////////////////////////

#ifndef _CLIENTINPUTPACKET_H_
#include "clientinputpacket.h"
#endif

#ifndef _CLIENTPACKETONSERVER_H_
#include "clientpacketonserver.h"
#endif

//////////////////////////////////////////////////////////////////////////


/** Network packet, that contains client input [Server side]
*
*  @author   Roman Pasechnik
*  @since    Nov 01st, 2009
*  @updated  Nov 09th, 2009
*/
class ClientInputPacketOnServer : public ClientPacketOnServer
{
//////////////////////////////////////////////////////////////////////////

public:

//////////////////////////////////////////////////////////////////////////


    /** Constructor */
    ClientInputPacketOnServer( int _clientID,
                               const ClientInputPacket& _clientInputPacket );


    /** Destructor */
    virtual ~ClientInputPacketOnServer();


//////////////////////////////////////////////////////////////////////////


    /** Visit server engine */
    virtual void VisitServerEngine( ServerEngine* _server ) const;


////////////////////////////////////////////////////////////////////////////////

private:

//////////////////////////////////////////////////////////////////////////


    /** Client input packet */
    ClientInputPacket m_ClientInputPacket;


//////////////////////////////////////////////////////////////////////////
};


//////////////////////////////////////////////////////////////////////////

#endif

//////////////////////////////////////////////////////////////////////////
